package com.ssy.lingxi.product.service.saleorder.invoicestype;

import com.ssy.lingxi.common.model.dto.UserLoginCacheDTO;
import com.ssy.lingxi.common.response.Wrapper;
import com.ssy.lingxi.product.api.model.request.warehouse.InvoicesAddRequest;
import com.ssy.lingxi.product.api.model.request.warehouse.InvoicesUpdataRequest;
import com.ssy.lingxi.product.entity.warehouse.Invoices;

import java.util.List;

/**
 * 单据业务处理基类 根据单据类型区分
 *
 * @author wrc
 * @date 2020/12/21
 */
public interface InvoicesTypeStrategy {


    /**
     * 添加单据业务处理基类
     */
    Wrapper invoicesAdd(Invoices invoices, InvoicesAddRequest request, UserLoginCacheDTO sysUser);

    /**
     * 修改单据业务处理基类
     */
    Wrapper invoicesUpdata(Invoices invoices, InvoicesUpdataRequest request);

    /**
    * 批量审核单据
    * @author wrc
    * @date 2020/12/29
    */
    Wrapper  invoicesReviewAll(List<Invoices> invoicess,UserLoginCacheDTO sysUser);
}
